package com.charm.restaurant.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.charm.restaurant.common.Result;
import com.charm.restaurant.dto.LoginDTO;
import com.charm.restaurant.entity.Merchant;
import com.charm.restaurant.entity.User;
import com.charm.restaurant.vo.MerchantVO;

import java.util.Map;

/**
 * 商家服务接口
 */
public interface MerchantService extends IService<Merchant> {

    /**
     * 商家登录
     */
    Result<MerchantVO> login(LoginDTO loginDTO);

    /**
     * 商家注册
     */
    Result<MerchantVO> register(Merchant merchant);

    /**
     * 获取商家信息
     */
    Result<MerchantVO> getMerchantInfo();

    /**
     * 修改商家信息
     */
    Result<MerchantVO> updateInfo(Merchant merchant);

    /**
     * 修改密码
     */
    Result<String> updatePassword(String oldPassword, String newPassword);

    /**
     * 获取商家统计数据
     */
    Result<Map<String, Object>> getStatistics();

    /**
     * 分页查询用户列表
     */
    Result<Page<User>> getUserPage(int page, int pageSize, String username, String name, String phone);

    /**
     * 更新用户状态
     */
    Result<String> updateUserStatus(Long id, Integer status);

    /**
     * 获取用户详情
     */
    Result<User> getUserDetail(Long id);
}
